Software and computer systems are increasingly being subjected to cyber security attacks. These attacks are becoming more prevalent, in part, due to increasingly complex and distributed software systems which involve dozens up to thousands of computing nodes. As a result, threat modeling is becoming increasingly utilized by software developers during design time to identify potential vulnerabilities of software systems so that they can be addressed prior to deployment.